#pragma once
#using <WindowsBase.dll>
#include<string>

//using namespace std;

typedef char   gchar;
typedef short  gshort;
typedef long   glong;
typedef int    gint;
typedef gint   gboolean;

typedef unsigned char   guchar;
typedef unsigned short  gushort;
typedef unsigned long   gulong;
typedef unsigned int    guint;
typedef unsigned short guint16;

typedef float   gfloat;
typedef double  gdouble;

typedef guint16 gunichar2;

namespace Ws2Com {
    private ref class Marshal2 {
    public:
        static System::String^ UTF8CStringToClrString(const char* str);
        static char* ClrStringToUTF8CString(System::String^ str);
        static array<unsigned char>^ UTF8CharToClrArrayChar(std::string);
        static std::string ansi_to_utf8(std::string strAnsi);
        static std::string utf8_to_ansi(std::string strUTF8);
    };
}